<template>
  <h2>Vuex 在组合式API中的使用</h2>
  <div>count：{{ count }}</div>
  <button @click="decrement">decrement</button>
  <button @click="increment">increment</button>
  <div>page： {{ page }}</div>
  <div>doneTodos： {{ doneTodos }}</div>
</template>

<script>
import { computed } from 'vue'
import { useStore } from 'vuex'

export default {
  setup () {
    const store = useStore()
    console.log(store)

    return {
      // 在 computed 函数中访问 state
      count: computed(() => store.state.count),
      page: computed(() => store.state.moduleA.myPage.page), // 访问嵌套模块中 state
      // 在 computed 函数中访问 getter
      doneTodos: computed(() => store.getters.doneTodos),
      // 使用 mutation
      decrement: () => store.commit('decrement'),
      // 使用 action
      increment: () => store.dispatch('increment', { amount: 10 })
    }
  }
}
</script>

<style>

</style>